from django.shortcuts import render, redirect
# 导包
from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
# 导入类视图
from django.views import View

# from myapp.models import User
import json
from django.core.serializers import serialize
from rest_framework.response import Response
from rest_framework.views import APIView
# 导入加密库
import hashlib
# 导入图片库
# 绘画库
from PIL import ImageDraw
# 字体库
from PIL import ImageFont
# 图片库
from PIL import Image
# 随机库
import random
# 文件流
import io

import requests

# 导入上传文件夹配置
from mydjango.settings import UPLOAD_ROOT
import os

# 导入原生sql模块
from django.db import connection

import jwt

# 导入redis数据库
import redis

# 导入时间模块
import time

# 导入公共目录变量
from mydjango.settings import BASE_DIR

# 导包
from django.db.models import Q, F

# 导入dwebsocket的库
from dwebsocket.decorators import accept_websocket
import uuid

from .models import *

class HomeView(View):
    def get(self, request):
        user = User.objects.all()

        return render(request, "index.html", locals())


class CreateView(View):
    def get(self, request):
        return render(request, "create.html")

    def post(self, request):
        username = request.POST.get("username")
        password = request.POST.get("password")
        img = request.POST.get("img")
        typ = request.POST.get("typ")
        print(username)
        user = User()
        user.username = username
        user.password = password
        user.img = img
        user.typ = typ
        user.save()
        return HttpResponse('创建成功')


class UpdateView(View):
    def get(self, request):
        id = request.GET["id"]
        user = User.objects.get(id=id)
        return render(request, "upd.html", locals())

    def post(self, request):
        id = request.GET['id']
        user = User.objects.get(id=id)
        user.username = request.POST.get("username")
        user.password = request.POST.get("password")
        user.img = request.POST.get("img")
        user.typ = request.POST.get("typ")
        user.save()
        return HttpResponse("修改成功")


class DeleteView(View):
    def get(self, request):
        id = request.GET["id"]
        User.objects.get(id=id).delete()
        return HttpResponse('删除成功')
